MJMDo.No. 5038-90
SELECTION OF A BEST SPEECH RECOGNIZER FROM MULTIPLE
SPEECH RECOGNIZERS USING PERFORMANCE PREDICTION
BACKGROUND
1. Field
This disclosure relates to speech recognition systems, more particularly to speech
recognition systems using multiple speech recognizers with varying performance and
operational characteristics.
2. Background
Speech recognition systems typically convert speech to text for dictation applications
or to commands for command and control tasks. The speech is received through an incoming
audio stream, converted and returned to the application as converted or recognized speech.
The applications in use by the user generating the audio stream may include dictation
systems, voice interfaces for menu driven applications, etc. The system may utilize cellular or
landline phone systems, Voice-over-IP networks, multimedia computer systems, etc.
Speech recognition systems use modules referred to as speech recognizers, or
recognizers, to perform the actual conversion. Performance in recognizers varies, even if
recognizers are targeted at the same market. For example, a recognizer used in a system
targeted to the dictation market from manufacturer A will perform differently than a
recognizer targeted to the same market from manufacturer B. Additionally, 2 recognizers
from a single manufacturer targeted at similar markets may perform differently. This occurs
because different algorithms are used to perform the recognition and different speech models
are used to drive the recognizers. Speech models may differ due to differing content and
speakers used to generate the model, as well as the representation of this data.
Though current applications utilize only a single recognizer, more robust speech
recognition systems may utilize several different recognizers. This allows the system to have
P17827
1
5038-90
• t
different recognizers available for different tasks and users. However, selecting the optimal
speech recognizer for a given situation is problematic, as is a way to track and update
performance records of the various recognizers in different situations, which allows better
optimization.
PI 7827
2
5038-90
BRIEF DESCRIPTION OF THE DRAWINGS
The invention may be best understood by reading the disclosure with reference to the
drawings, wherein:
Figure 1 shows one embodiment of a speech recognition system having a predictor
module, in accordance with the invention.
Figure 2^shows one embodiment of a method of selecting a speech recognizer using
performance prediction, in accordance with the invention.
DETAILED DESCRIPTION OF THE EMBODIMENTS
Figure 1 shows one embodiment of a speech recognition system 10 having a predictor
and multiple recognizers. The speech recognition system receives an input audio stream
through a port from some user of a speech recognition application at 12. The input audio
69 stream is connected through some sort of connection 18 to the speech recognizers. The
|£J connection may be wireless, such as a cell phone connection, a local area network, or through
the circuitry of a personal computer, as examples.
The speech recognizers may be partitioned across a network as in a distributed speech
recognition system. In this case, the recognizers 14a-14n may process raw audio data or a
more compact form generated by the front-end speech recognition processes that reside
across the network 18. In the following discussions, we refer to the stream of data that the
speech recognizers process as the "input stream" or "input audio stream" regardless if it is
raw audio data or an intermediate form that may be generated by a distributed speech
recognizer or any other form of compression. The invention is in no way limited by the
specific architecture of the recognizers.
^X^y The recognizers, l4a-14n, receive the input stream. It must be noted that although it
r~5
i . i
fa? -
?
y i
'Appears that there are 14 r xognizers A-N, the use of the letter N is in the mathematical sense,
where N is the number of ^cognizers decided upon by the system designer. In some
PI 7827
3
5038-90
^embodiments the predictor 22 may cbntrol the routing of the input stream to the recognizers.
The recognizers receiving the input stream and converting it will be referred to as the enabled
recognizers. The enabling of the recognizers by the predictor will be discussed in more detail
below. .
The enabled recognizers perform the speech recognition tasks. The output of the
\
/ enabled recognizers would then be sent to an output switch 16. The predictor then selects a
set of results from the results presented to the output switch. The basis of that selection is
discussed in more detailUDelow.
C^^^^ Ijtt^n^o^r^t of performing the selection of the appropriate recognizer is shown
*^ /in Figure 2. As discusseS^ove with regard to Figure 1, an input stream is received at 30.
The input stream carries the speech inputr-as well other sounds and audio cues that may be
used in deriving information pertinent to the speech recognition task.
For exanW, at 32, the input stream may be analyzed to determine characteristics of
h/ \
the communication channel. In some systems, analyzers exist that allow the system to
determine the audio characteristics of the channel, for example, determining if the cellular or
landline communication networks are in use. Other information may also be derived,
including background noise and signal strength among others. Additionally, this analysis
may determine characteristics of the communication device, for example determining if a
speaker-phone or a wireless handset are in use This analysis may occur as part of deriving
enabling information for thXecognizers. Network-based information services such as
CallerlD in conjunction with aMocal or network-based database mapping calling number to
channel and device characterise^ may be utilized for similar effect.
Enabling information, as used here, is information used to select the recognizers that
process the input stream. For example, the system may have some recognizers that are better
for cell phone audio streams than other recognizers. Other characteristics may also determine
P17827
4
5038-90
the recognizers that would be enabled for a particular input stream. Note that in some
systems, the input stream may be routed to all recognizers even if they are not actively
processing the input. This may occur, for example, if the recognizers are on a shared bus or
communication network. All of the recognizers may be enabled, or only a few may be
enabled, as will be discussed later. In some implementations, all recognizers may always be
enabled at all times and in all situations.
For example, the characteristics of the device used to generate the audio stream or the
communication channel in use may indicate a particular recognizer or recognizer type. The
device could be a cell phone, even further defined as a particular brand of cell phone, a
particular brand or type of landline phone, such as cordless, speakerphone or 'traditional'
handset phone. Other examples exist including microphones and personal computers used in
conjunction with phone lines or even over data networks, such as Voice-Over-Internet
Protocol (VoIP phones). These are just examples of variations of the devices, and are not
intended to limit scope of the invention in any way.
A more complex characteristic of the incoming stream is contextual information.
Contextual information is that information related to the environment around the input
stream, including characteristics of the user and information derived from the call using
network services such as CallerlD. This information may be obtained dynamically or may be
predetermined.
As an example of dynamic information, the CallerlD of a phone call that will have speech
recognition performed on it may identify the call as international. Certain assumptions may
be made about the quality of the audio stream based upon the identification of the call as
international. An example of the predetermined information may be a user profile stored by
the provider of the speech recognition application. The user may have a profile connected to
their user identifier that identifies the user as an American male from the Deep South. This
P17827
5
5038-90
may indicate that recognizers that have good performance for American men with southern
accents be enabled.
In one embodiment of the invention, once the enabling information is received and
those recognizers to receive the stream are enabled, the selection information is derived at 34.
In an alternative embodiment, to be discussed later, the performance predictors or indicators
may be updated and analyzed prior to the deriving the selection information. Deriving the
enabling information allows the system to select the recognizers that will process the input
stream. Deriving the selection information allows the system to select the best results from
the recognizers.
The system may be configured so that it enables only a single recognizer determined
to be the best for any given situation. In this case, the recognizers will return only one result,
GO the results from that enabled recognizer. The system has derived enabling information; in
j^j this case, deriving selection information is trivial. Alternatively, the system may enable all
recognizers and derive only the selection information, avoiding the enabling process and only
using the predictor to select the results predicted to be the best. Finally, the system may use
the predictor to do both the enabling and the selecting processes. The predictor would both
enable some or all recognizers and the select the best results. In any of the above cases, the
information used for either enabling, selecting or both may comprise the same general types
of information discussed above.
In one embodiment, recognizers return their converted speech accompanied by one or
more values that indicates the confidence the recognizer has in a particular result. We call
these values individual-result confidence values. The predictor mechanism determines, for
each recognizer in the system and for each situation, a recognizer-based confidence value.
This recognizer-based confidence value is the predictor's estimation of the accuracy of each
recognizer in a particular situation. The predictor tracks performance of individual
6
s
tn
P17827
6
5038-90
recognizers under a variety of conditions to determine recognizer-based confidence values.
This includes correlating performance to channel and device characteristics, dialog state, user
information and other contextual information. This allows the predictor to estimate, for
example, the performance of recognizer A for user B communicating using a speakerphone.
The selection information will include at least one of the sets of information identified
above: channel characteristics, device characteristics, user information, contextual
information, dialog state, individual-result confidence values or the performance history of
the particular recognizer. These sets of information will be referred to as performance-related
information. Performance-related information exists in the predictor prior to receiving the
converted streams from the recognizers or is derived from the input stream. This differs from
the prior art, where the selection information is based only upon the converted streams and
the active grammar. This prior art does not utilize performance-related information.
One element of performance-related information is a quantitative analysis of the costs
of using a particular recognizer, in either financial or computational terms. Some
manufacturers charge a licensing fee per use of their recognizers. This information may be
factored into the performance related information to identify recognizers that may be too
costly to be used in a particular context. Similarly, some recognizers use more computational
resources than others. This factor may allow the system to select the best recognizer for the
costs associated, either in licensing fees or load on the system.
The predictor selects the 'best' results based on the information available to it and
tracks performance over time to improve the enabling and selection process. This prediction
is important both for providing good system-level recognition accuracy and for optimizing
resource usage by enabling only recognizers that may provide useful results. Information
regarding the correctness of the recognition process is necessary to tune the predictor over
time. We call this information "feedback" in the discussions that follow. Feedback may be
P17827
7
5038-90
obtained directly through interaction with the user or by a variety of indirect means. We
discuss this below.
The predictor gathers all information available and selects the results from the best
recognizer, selecting a particular recognizer at 36. The information made available to the
predictor in a particular embodiment will determine how the prediction is made in that
embodiment. Several different kinds of information may be made available to the predictor
for selection of a given recognizer. For example, the predictor may use recognizer-based
confidence, analysis of the input stream, contextual information, and dialog states, as
examples. Additionally, the predictor may store performance data derived either on-line or
off-line to aid in prediction.
The measure of confidence may vary from recognizer to recognizer, so individual-
result confidence values may have to be normalized to the same measurement scale. For
example, one recognizer may provide a percentage out of 100% that indicates the
recognizer's confidence that a particular result is accurate. Another may provide a rating on
scale from 1 tolO. These would have to be converted to the same measure before they could
be compared.
The individual-result confidence values may be used in a simple voting mechanism
where several recognizers return a particular result. For example, the result may be "The .
quick brown fox." If 6 of the available recognizers return that particular result, that result
will be given a higher confidence value than results that were returned only by one
recognizer. This information can be leveraged with feedback and performance history, as
will be discussed further. Note that individual-result confidence values are not necessary to
implement a voting mechanism, nor are they required for implementation of these feedback
and performance tracking mechanisms.
P17827
8
5038-90
In ond embodiment of the invention, the flow shown in Figure 2 changes to include 40
and 42. The iifout stream is routed to the enabled recognizers in 40. The enabled recognizer
provides results \nd associated recognizer information that may include individual result
confidence valuesVor example, to the predictor at 42. The predictor then uses the recognizer
information as part of the selection information in 34.
As mentioned above, the analysis of the input stream may identify certain channel or
device characteristics that can be used in the selection information. Certain recognizers may
be provided by a manufacturer and targeted for a particular channel or device. This
information can be used to weight the information received from recognizer, including
individual result confidence values.
Similarly, contextual information, as discussed, above can also be used to predict the
best recognizer. Contextual information may include gender, age, ethnicity, whether the
speaker speaks the language of the recognizers as a first language, among other personal
information about the user. Also, the channel and device characteristics may be included in
the contextual information.
The channel and device characteristics were discussed above as part of an analysis of
the input stream. It must be noted that even systems that do not perform this signal-
processing analysis may be able to use device and channel characteristics that are known or
implied from the context of the call, rather than from an analysis of the input stream. For
example, the CallerlD, along with local or network based databases associating calling
number with device characteristics, may identify the incoming call as being from a cellular
phone. While all of these different sources of information may be used together, they may
also be used alone, and systems not performing input stream analysis may still have channel
and device characteristics available as part of the selection information.
P17827
9
5038-90
Another source of information that can be factored into the selection information is
the dialog state of the interaction between the user and the application requesting speech
recognition. The application knows the state of the dialog and can provide that information
to the speech recognition system. The speech recognition system can use that information to
predict the best recognizer. For example, certain recognizers may be better for control
keywords. A user calls into the system and navigates the menus using control keywords and
then starts a dictation process. The speech recognition system may have knowledge about
which recognizers are optimized for the control keywords and which are best for the
dictation. It can then use this knowledge in the selection information. Additionally, a variety
of recognizers optimized for dictation may be available, for example. However, they perform
differently in different domains, with one being optimized for legal use, one optimized for
medical use, and a third for general use for example. If the system knows that the user is
dictating a legal memo based on the current state of the dialog, it may use the legal-dictation-
optimized recognizer. Alternatively, the dialog state may indicate that the more general
dictation recognizer is more appropriate. This knowledge may be used in the selection and
enabling processes.
In the examples above, the speech recognition system may change recognizers for a
given user. The streams entering the system initially are control keyword audio streams. At
some point, the input streams may change to dictation audio streams. At that point, the
system may select a different recognizer. This system is dynamic and flexible.
For example, assume there are two recognizers. Recognizer A does speaker and
channel adaptation and adapts slowly but ends up being very accurate if it has enough time to
adapt. Recognizer B performs moderately well but requires no adaptation time. Initially, the
system chooses B, but allows both to process the audio. This allows A to adapt. Eventually,
Recognizer A has adapted sufficiently to cause the system to expect that it will out perform
PI 7827
10
5038-90
the Recognizer B. The recognizers may then provide this information to the predictor. At
this point, the predictor will use results from Recognizer A. With regard to enabling the
recognizers, if applicable, Recognizer A is being enabled based upon its expected future
performance, rather than its current performance.
Generally, the selection information with regard to Recognizer A will be updated, and
the updated selection information will cause a different recognizer to be selected than was
used in previous\interactions. An interaction could be an utterance within a session. For
example, the userViakes several utterances separated by silence. For the first few utterances,
the system may useHecognizer B, as Recognizer A adapts. For the remaining utterances, the
system may switch toVRecognizer A, not the recognizer used for the previous utterances.
Alternatively, an interaction could be an entire session where the user enters a speech
recognition process and then ends it, such as dialing into a telephone-based system, and
ending by hanging up. . fci this example, Recognizer B may be used for a first few sessions
with a particular user, while Recognizer A is adapting, and then the system may select
Recognizer A after it has adapred.
Up to this point in the process, the knowledge of the recognizers is preexisting
knowledge, probably provided when the recognizer was initially received or installed. The
predictor uses all of the information available to predict the best results by identifying the
best recognizer for a given situation. These results are then returned to the application. All
of the above measures and information can be updated dynamically using feedback
mechanisms.
The predictor may utilize data on past performance to perform the enabling and
selection processes. As discussed above, we call this data "feedback". Feedback may be
explicit or implicit as is demonstrated below. These feedback mechanisms are only intended
as examples and are not intended to limit scope of the invention in any way.
P17827
11
5038-90
Referring td Figure 2, after the results are returned to the application, feedback may
be generated at 44, als an option. This feedback may then be used to update information
about the recognizers at 46, such as their performance with a given characteristics in the
contextual information! a weighting that is applied to their individual-result confidence
values, their optimization for various channels and devices, among many others. This is
optional. This updated information may also be used when deriving the enabling information
or the selection information, or both. The feedback may be generated in several ways, and at
several different times. For example, feedback generated off-line will not occur at the place
in the process shown here, bu\nuch later. In some systems, the user may provide the
feedback, directly indicating theWcognition accuracy. This may occur, for example, in
dictation applications. The predictor may track the user's corrections and use that information
to tune the prediction process. In many applications, this is too cumbersome to be practical. A
variety of indirect measurement methods are discussed below.
In some speech recognition systems, the feedback may be from human evaluation.
After results are returned from the enabled recognizers, they may be stored with the original
audio stream for off-line evaluation. A human could listen to the audio stream and then
review the results provided and make indications as to which enabled recognizers were
correct. This evaluation would then be coded and stored for later access by the predictor.
Another possibility for feedback generation is the voting based estimation mentioned
above. Similar to the pure voting scheme used to select a particular result, measurements for
each recognizer may be maintained. If the recognizer was one that returned the results with
the highest number of votes, a recognizer-based confidence value may be raised.
The voting scheme could also be leveraged to weight results returned from various
recognizers. For example, a recognizer with a recognizer-based confidence value of 90%
returns a result with an associated individual result confidence value of 95%. The weighted
P17827
12
5038-90
individual-result confidence value for that result would then be (0.90)*(.95) or 0.86. Another
recognizer with a recognizer-based confidence value of 99% may return a particular result
with an associated individual result confidence value of 90%. The weighted individual-result
confidence value for that result is (0.99)*(0.90) or 89%. In this manner, even though the first
recognizer returned an individual-result confidence value for the results higher than the
second recognizer, the second recognizer's results would 'win.' This is because the second
recognizer has performed correctly in the past 99% of the time.
Prior speech recognition systems that have utilized multiple recognizers have not
attempted to track performance information over time. Rather, they implement a simple
voting scheme that evaluates each utterance independent of previous recognizer performance.
This is discussed in Barry, T.; et al., "The simultaneous use of three machine speech
recognition systems to increase recognition accuracy," Aerospace and Electronics
Conference, 1994. NAECON 1994, Proceedings of the IEEE 1994 National Page(s): 667 -
671 vol.2. The invention disclosed here uses performance histories and extensive contextual
information to make the multiple speech recognizer system more robust and better
performing.
Implementation of the invention is left to the system designer. The speech
recognition system of Figure 1 may be built from scratch to include the predictor.
Alternatively, the predictor may be included in existing speech recognition systems as an
upgrade. While it is possible that the predictor may be a dedicated processor or application-
specific integrated circuit (ASIC), it may also be embodied in software loaded into the speech
recognition system. In this instance, the software would perform the steps of the invention.
The software may be loaded into a digital signal or general-purpose processor via
some form of computer readable medium, or as an image file into a digital signal processor.
In either example, as well as others, the invention would be contained on an article including
PI 7827
13
5038-90
machine-readable code, where execution of that code would implement the methods of the
invention.
Thus, although there has been described to this point a particular embodiment for a
method and apparatus for selecting a best speech recognizer from multiple speech
recognizers, it is not intended that such specific references be considered as limitations upon
the scope of this invention except in-so-far as set forth in the following claims.
P17827
14
5038-90